package me.send.data.service.mapper;

import java.util.List;
import java.util.Map;

import me.send.data.service.pojo.BatchWithdrawOrder;
import me.send.data.service.pojo.BatchWithdrawRecord;
import me.send.data.service.pojo.WithdrawOrder;
import me.send.data.service.pojo.WithdrawRecord;
import me.send.data.service.provider.WithdrawProvider;

import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.SelectProvider;


public abstract interface WithdrawMapper {
    
    @SelectProvider(method = "list_page", type = WithdrawProvider.class)	
     public abstract List<Map<String,Object>> page(Map<String,Object> param);
    
    @SelectProvider(method = "list", type = WithdrawProvider.class)	
    public abstract List<WithdrawOrder> list(Map<String,Object> param);
    
    @SelectProvider(method = "batch_list", type = WithdrawProvider.class)	
    public abstract List<BatchWithdrawOrder> batch_list(Map<String,Object> param);
    
    @SelectProvider(method = "batch_count", type = WithdrawProvider.class)	
    public abstract Integer batch_count(Map<String,Object> param);
    
    @SelectProvider(method = "count", type = WithdrawProvider.class)	
    public abstract Integer count(Map<String,Object> param);
    
    @SelectProvider(method = "allow", type = WithdrawProvider.class)
    public abstract void allow(String brokerids);
    
    @SelectProvider(method = "recon", type = WithdrawProvider.class)
    public abstract void recon(String brokerids);
    
    @Select("select * from batch_withdraw_order o where o.batchOrderNo = #{batchOrderNo} ")
    public abstract BatchWithdrawRecord queryBatchWithdrawOrderByOrderNo(String batchOrderNo);
    
    @Select("select * from withdraw_order o where o.batchOrderNo = #{batchOrderNo} ")
    public abstract List<WithdrawRecord> queryWithdrawOrdersByBatchNo(String batchOrderNo);
} 
